
/**
*表表单验证方法文件
*/

//================NUll验证=========================
/************************************************** 
	用途：检查输入字符串是否为空或者全部都是空格 
	输入：str 
	返回： 
	如果全是空返回true,否则返回false 
**************************************************/
function noka_tag_isNull(str) {
	if (str == "") {
		return true;
	}
	var regu = "^[ ]+$";
	var re = new RegExp(regu);
	return re.test(str);
}

//================NUll验证=========================
/************************************************** 
	用途：检查输入字符串是否为空或者全部都是空格 
	输入：str 
	返回： 
	如果全是空返回false,否则返回true 
**************************************************/
function noka_tag_isNulluse(str) {
	if (str == "") {
		return false;
	}
	var regu = "^[ ]+$";
	var re = new RegExp(regu);
	return !re.test(str);
}

//==============email验证=========================
/************************************************* 
	用途：检查输入对象的值是否符合E-Mail格式 
	输入：str 输入的字符串 
	返回：如果通过验证返回true,否则返回false 
*************************************************/
function noka_formchick_isEmail(str, allownull) {
	var issc = true;
	var myReg = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;
	if (allownull) {//可以为空
		if (!noka_tag_isNull(str)) {//如果不空，验证合法性
			if (myReg.test(str)) {
				issc = true;//验证通过
			} else {
				issc = false;//验证未通过
			}
		} else {//如果为空，验证视为通过
			issc = true;
		}
	} else {//不可以为空
		if (noka_tag_isNull(str)) {
			issc = false;//为空，验证视为未通过
		} else {
			if (myReg.test(str)) {//验证通过
				issc = true;
			} else {//验证未通过
				issc = false;
			}
		}
	}
	return issc;
}

//================手机验证========================
/************************************************ 
	用途：检查输入手机号码是否正确 
	输入： 
	s：字符串 
	返回： 
	如果通过验证返回true,否则返回false 
************************************************/
function noka_formchick_checkMobile(s, allownull) {
	var issc = true;
	var regu = /^[1][3,5][0-9]{9}$/;
	var re = new RegExp(regu);
	if (allownull) {//可以为空
		if (!noka_tag_isNull(s)) {
			if (re.test(s)) {
				issc = true;
			} else {
				issc = false;
			}
		} else {
			issc = true;
		}
	} else {
		if (noka_tag_isNull(s)) {
			issc = false;
		} else {
			if (re.test(s)) {
				issc = true;
			} else {
				issc = false;
			}
		}
	}
	return issc;
}
//===============验证正整数======================
/*********************************************** 
	用途：检查输入字符串是否符合正整数格式 
	输入： 
	s：字符串 
	返回： 
	如果通过验证返回true,否则返回false 
***********************************************/
function noka_formchick_isNumber(s, allownull) {
	var issc = true;
	var regu = "^[0-9]+$";
	var re = new RegExp(regu);
	if (allownull) {//可以为空
		if (!noka_tag_isNull(s)) {
			if (s.search(re) != -1) {
				issc = true;
			} else {
				issc = false;
			}
		} else {
			issc = true;
		}
	} else {
		if (noka_tag_isNull(s)) {
			issc = false;
		} else {
			if (s.search(re) != -1) {
				issc = true;
			} else {
				issc = false;
			}
		}
	}
	return issc;
}

//================自定议正则表达式========================
/************************************************ 
	用途：自定议正则表达式验证 
	输入： 
	s：字符串 
	返回： 
	如果通过验证返回true,否则返回false 
************************************************/
function noka_formchick_checktabsn(s, tabsn, allownull) {
	var issc = true;
	var regu = "^" + tabsn + "$";
	var re = new RegExp(regu);
	if (allownull) {//可以为空
		if (!noka_tag_isNull(s)) {
			if (re.test(s)) {
				issc = true;
			} else {
				issc = false;
			}
		} else {
			issc = true;
		}
	} else {
		if (noka_tag_isNull(s)) {
			issc = false;
		} else {
			if (re.test(s)) {
				issc = true;
			} else {
				issc = false;
			}
		}
	}
	return issc;
}

//=============IP地址验证==============================
/***************************************************** 
	用途：校验ip地址的格式 
	输入：strIP：ip地址 
	返回：如果通过验证返回true,否则返回false； 
******************************************************/
function noka_formchick_isIP(strIP, allownull) {
	var issc = true;
	var re = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g; //匹配IP地址的正则表达式 
	if (allownull) {//可以为空
		if (!noka_tag_isNull(strIP)) {
			if (re.test(strIP)) {
				if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256) {
					issc = true;
				}
			} else {
				issc = false;
			}
		} else {
			issc = true;
		}
	} else {//为可以为空
		if (noka_tag_isNull(strIP)) {
			issc = false;
		} else {
			if (re.test(strIP)) {
				if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256) {
					issc = true;
				}
			} else {
				issc = false;
			}
		}
	}
	return issc;
} 

//==============整数验证=================================
/******************************************************* 
	用途：检查输入对象的值是否符合整数格式 
	输入：str 输入的字符串 
	返回：如果通过验证返回true,否则返回false 
********************************************************/
function noka_formchick_isInteger(str, allownull) {
	var issc = true;
	var regu = /^[-]{0,1}[0-9]{1,}$/;
	if (allownull) {//可以为空
		if (!noka_tag_isNull(str)) {
			if (!regu.test(str)) {
				issc = false;
			} else {
				issc = true;
			}
		} else {
			issc = true;
		}
	} else {
		if (noka_tag_isNull(str)) {
			issc = false;
		} else {
			if (!regu.test(str)) {
				issc = false;
			} else {
				issc = true;
			}
		}
	}
	return issc;
}

//===============小数验证================================
/******************************************************* 
	用途：检查输入字符串是否是带小数的数字格式,可以是负数 
	输入： 
	s：字符串 
	返回： 
	如果通过验证返回true,否则返回false 
*******************************************************/
function noka_formchick_isDecimal(str, allownull) {
	var issc = true;
	var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/;
	if (allownull) {//可以为空
		if (!noka_tag_isNull(str)) {
			if (re.test(str)) {
				if (RegExp.$1 == 0 && RegExp.$2 == 0) {
					issc = true;
				}
				issc = true;
			} else {
				issc = false;
			}
		} else {
			issc = true;
		}
	} else {
		if (noka_tag_isNull(str)) {
			issc = false;
		} else {
			if (re.test(str)) {
				if (RegExp.$1 == 0 && RegExp.$2 == 0) {
					return true;
				}
				issc = true;
			} else {
				issc = false;
			}
		}
	}
	return issc;
}

//==============金额验证============================
/************************************************** 
	用途：检查输入字符串是否符合金额格式 
	格式定义为带小数的正数，小数点后最多三位 
	输入： 
	s：字符串 
	返回： 
	如果通过验证返回true,否则返回false 
***************************************************/
function noka_formchick_isMoney(s, allownull) {
	var issc = true;
	var regu = "^[0-9]+[.][0-9]{0,3}$";
	var re = new RegExp(regu);
	if (allownull) {//可以为空
		if (!noka_tag_isNull(s)) {
			if (re.test(s)) {
				issc = true;
			} else {
				issc = false;
			}
		} else {
			issc = true;
		}
	} else {
		if (noka_tag_isNull(s)) {
			issc = false;
		} else {
			if (re.test(s)) {
				issc = true;
			} else {
				issc = false;
			}
		}
	}
	return issc;
}
//===============================================
/************************************************ 
	用途：检查输入字符串是否只由英文字母和数字和下划线组成 
	输入： 
	s：字符串 
	返回： 
	如果通过验证返回true,否则返回false 
*************************************************/
function noka_formchick_isNumberOr_Letter(s, allownull) {//判断是否是数字或字母 
	var issc = true;
	var regu = "^[0-9a-zA-Z_]+$";
	var re = new RegExp(regu);
	if (allownull) {//可以为空
		if (!noka_tag_isNull(s)) {
			if (re.test(s)) {
				issc = true;
			} else {
				issc = false;
			}
		} else {
			issc = true;
		}
	} else {
		if (noka_tag_isNull(s)) {
			issc = false;
		} else {
			if (re.test(s)) {
				issc = true;
			} else {
				issc = false;
			}
		}
	}
	return issc;
}
//=============================================
/********************************************** 
	用途：检查输入字符串是否只由英文字母和数字组成 
	输入： 
	s：字符串 
	返回： 
	如果通过验证返回true,否则返回false 
**********************************************/
function noka_formchick_isNumberOrLetter(s, allownull) {//判断是否是数字或字母 
	var issc = true;
	var regu = "^[0-9a-zA-Z]+$";
	var re = new RegExp(regu);
	if (allownull) {//可以为空
		if (!noka_tag_isNull(s)) {
			if (re.test(s)) {
				issc = true;
			} else {
				issc = false;
			}
		} else {
			issc = true;
		}
	} else {
		if (noka_tag_isNull(s)) {
			issc = false;
		} else {
			if (re.test(s)) {
				issc = true;
			} else {
				issc = false;
			}
		}
	}
	return issc;
}
//===================电话号码===================
/**********************************************
	用途：检查输入的电话号码格式是否正确
	输入：
	strPhone：字符串
	返回：
	如果通过验证返回true,否则返回false
**********************************************/
function noka_formchick_checkPhone(strPhone, allownull) {
	var issc = true;
	var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}$/;
	var phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/;
	if (allownull) {//可以为空
		if (!noka_tag_isNull(strPhone)) {
			if (strPhone.length > 9) {
				if (phoneRegWithArea.test(strPhone)) {
					issc = true;
				} else {
					issc = false;
				}
			} else {
				if (phoneRegNoArea.test(strPhone)) {
					issc = true;
				} else {
					issc = false;
				}
			}
		} else {
			issc = true;
		}
	} else {
		if (noka_tag_isNull(strPhone)) {
			issc = false;
		} else {
			if (strPhone.length > 9) {
				if (phoneRegWithArea.test(strPhone)) {
					issc = true;
				} else {
					issc = false;
				}
			} else {
				if (phoneRegNoArea.test(strPhone)) {
					issc = true;
				} else {
					issc = false;
				}
			}
		}
	}
	return issc;
}
//====================邮政编码====================
/************************************************* 
	用途：检查输入邮政编码规则是否正确 
	输入： 
	s：字符串 
	返回： 
	如果通过验证返回true,否则返回false 
*************************************************/
function noka_formchick_checkPostalcode(s, allownull) {
	var issc = true;
	var regu = /^[1-9]{1}[0-9]{5}$/;
	var re = new RegExp(regu);
	if (allownull) {//可以为空
		if (!noka_tag_isNull(s)) {
			if (re.test(s)) {
				issc = true;
			} else {
				issc = false
			}
		} else {
			issc = true;
		}
	} else {
		if (noka_tag_isNull(s)) {
			issc = false;
		} else {
			if (re.test(s)) {
				issc = true;
			} else {
				issc =false;
			}
		}
	}
	return issc;
}

